package com.tanhua.dubbo.server.api;

import com.tanhua.dubbo.server.enums.HuanXinMessageType;
import com.tanhua.dubbo.server.pojo.HuanXinUser;

public interface HuanXinApi {

    /**
     * 获取环信中的token
     * @return
     */
    String getToken();

    /**
     * 注册环信用户
     * @param userId
     * @return
     */
    Boolean register(Long userId);

    /**
     * 通过登录用户的ID查询环信中的用户信息
     * @param userId
     * @return
     */
    HuanXinUser findHuanXinUser(Long userId);

    /**
     * 通过环信用户名查询用户信息
     * @param username
     * @return
     */
    HuanXinUser findUserByHuanXinUserName(String username);

    /**
     * 在环信中添加好友信息
     * @param id
     * @param friendId
     * @return
     */
    boolean addFriend(Long id, Long friendId);

    /**
     * 在环信中移除好友信息
     * @param userId
     * @param friendId
     * @return
     */
    boolean removeFriend(Long userId,Long friendId);

    /**
     * 以管理员身份发送消息
     * @param targetUserName 发送目标的用户名
     * @param huanXinMessageType 消息类型
     * @param msg
     * @return
     */
    boolean answerQuestion(String targetUserName, HuanXinMessageType huanXinMessageType,String msg);

}
